package com.example.script.admin.model.dto;

import io.swagger.annotations.ApiModelProperty;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import java.util.Date;
import java.util.List;

public class ScriptPublishDto {
    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "剧本名字")
    private String scriptName;

    @ApiModelProperty(value = "剧本人数")
    private String scriptNOP;

    @ApiModelProperty(value = "剧本时长")
    private String script_duration;

    @ApiModelProperty(value = "剧本简介")
    private String scriptShortIntroduction;

    @ApiModelProperty(value = "剧本详情")
    private String scriptDetailedIntroduction;

    @ApiModelProperty(value = "剧本类型")
    private List<Long> scriptType;

    @ApiModelProperty(value = "修改时间")
    @LastModifiedDate
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;

    @ApiModelProperty(value = "创建时间")
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @CreatedDate
    private Date creationTime;

    public ScriptPublishDto(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Date getCreationTime() {
        return creationTime;
    }

    public void setCreationTime(Date creationTime) {
        this.creationTime = creationTime;
    }

    public String getScriptName() {
        return scriptName;
    }

    public void setScriptName(String scriptName) {
        this.scriptName = scriptName;
    }

    public String getScriptNOP() {
        return scriptNOP;
    }

    public void setScriptNOP(String scriptNOP) {
        this.scriptNOP = scriptNOP;
    }

    public String getScript_duration() {
        return script_duration;
    }

    public void setScript_duration(String script_duration) {
        this.script_duration = script_duration;
    }

    public String getScriptShortIntroduction() {
        return scriptShortIntroduction;
    }

    public void setScriptShortIntroduction(String scriptShortIntroduction) {
        this.scriptShortIntroduction = scriptShortIntroduction;
    }

    public String getScriptDetailedIntroduction() {
        return scriptDetailedIntroduction;
    }

    public void setScriptDetailedIntroduction(String scriptDetailedIntroduction) {
        this.scriptDetailedIntroduction = scriptDetailedIntroduction;
    }

    public List<Long> getScriptType() {
        return scriptType;
    }

    public void setScriptType(List<Long> scriptType) {
        this.scriptType = scriptType;
    }

    public ScriptPublishDto(String scriptName, String scriptNOP, String script_duration, String scriptShortIntroduction, String scriptDetailedIntroduction, List<Long> scriptType) {
        this.scriptName = scriptName;
        this.scriptNOP = scriptNOP;
        this.script_duration = script_duration;
        this.scriptShortIntroduction = scriptShortIntroduction;
        this.scriptDetailedIntroduction = scriptDetailedIntroduction;
        this.scriptType = scriptType;
    }

    @Override
    public String toString() {
        return "ScriptPublishParam{" +
                "scriptName='" + scriptName + '\'' +
                ", scriptNOP='" + scriptNOP + '\'' +
                ", script_duration='" + script_duration + '\'' +
                ", scriptShortIntroduction='" + scriptShortIntroduction + '\'' +
                ", scriptDetailedIntroduction='" + scriptDetailedIntroduction + '\'' +
                ", scriptType=" + scriptType +
                '}';
    }

}
